//package com.morn.fanfou.util;
//
//import java.lang.reflect.Field;
//import java.util.Date;
//
//import android.content.ContentValues;
//
//public class ContentValuesFactory {
//
//	public static ContentValues getContentValues(Object obj) {
//		ContentValues contentValues = new ContentValues();
//		try {
//			Class<? extends Object> clazz = obj.getClass();
//			Field[] fields = clazz.getDeclaredFields();
//			for (Field field : fields) {
//				field.setAccessible(true);
//				if (field.isAnnotationPresent(DatabaseField.class)) {
//					DatabaseField databaseField = field.getAnnotation(DatabaseField.class);
//					String columnName = databaseField.columnName();
//					if ("".equals(columnName)) {
//						columnName = field.getName();
//					}
//					Object value = field.get(obj);
//					Class<?> type = field.getType();
//					if (type == String.class) {
//						contentValues.put(columnName, (String) value);
//					} else if (type == Byte.class) {
//						contentValues.put(columnName, (Byte) value);
//					} else if (type == Short.class) {
//						contentValues.put(columnName, (Short) value);
//					} else if (type == Integer.class) {
//						contentValues.put(columnName, (Integer) value);
//					} else if (type == Long.class) {
//						contentValues.put(columnName, (Long) value);
//					} else if (type == Float.class) {
//						contentValues.put(columnName, (Float) value);
//					} else if (type == Double.class) {
//						contentValues.put(columnName, (Double) value);
//					} else if (type == Boolean.class) {
//						contentValues.put(columnName, (Boolean) value);
//					} else if (type == byte[].class) {
//						contentValues.put(columnName, (byte[]) value);
//					} else if (type == Date.class) {
//						contentValues.put(columnName, ((Date) value).toString());
//					} else if (databaseField.foreign()) {
//						Field f = value.getClass().getDeclaredField("id");
//						f.setAccessible(true);
//						Object o = f.get(value);
//						contentValues.put(columnName, o.toString());
//					}
//				}
//			}
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//		return contentValues;
//	}
//}
